perm filename PROB3[1,DBL] blob
sn#002659 filedate 1972-12-12 generic text, type T, neo UTF8
00100 (DE LISTP (S)
00200 (COND ((NULL S) T)
00300 ((ATOM S) NIL)
00400 ((ATOM (CAR S)) (LISTP (CDR S)))
00500 ((LISTP (CAR S)) (LISTP (CDR S]
00600 (DE UGLYPRINT (S) (COND
00700 ((ATOM S) (PRINC S))
00800 ((ATOM (CAR S)) (PRINC @/() (PRINC (CAR S))
00900 (PRINC @/.) (UGLYPRINT (CDR S))
01000 (PRINC @/)) S)
01100 (T (PRINC @/() (UGLYPRINT (CAR S))
01200 (PRINC @/.) (UGLYPRINT (CDR S))
01300 (PRINC @/)) S]
01400 (DE FLATTEN (S) (COND
01500 ((ATOM S) (NCONS S))
01600 (T (APPEND (FLATTEN (CAR S)) (FLATTEN (CDR S]
01700 (DE FLATCOUNT (S) (FLAT S (B (FLATTEN S]
01800 (DE FLAT (S BS) (COND ((NULL BS) NIL)
01900 (T (CONS (CONS (CAR BS) (NCONS (OCCUR (CAR BS)
02000 (FLATTEN S))))
02100 (FLAT S (CDR BS]
02200 (DE B (S) (COND ((ATOM S) NIL)
02300 ((MEMBER (CAR S) (CDR S)) (B (CDR S)))
02400 (T (CONS (CAR S) (B (CDR S]
02500 (DE OCCUR (E S) (COND ((NULL S) 0)
02600 ((EQUAL (CAR S) E) (ADD1 (OCCUR E (CDR S))))
02700 (T (OCCUR E (CDR S]
02800 (DE RESERVE (RM GST DAT) (COND (T
02900 (PUTPROP GST (CONS RM DAT) (VAR DAT))
03000 (PUTPROP RM (CONS GST DAT) GST)
03100 (PUTPROP RM GST (VAR DAT))
03140 (PRINC @(WE HAVE MADE A RESERVATION IN THE NAME OF))
03150 (PRINC GST) (TERPRI) (PRINC @(FOR ROOM)) (PRINC RM)
03160 (PRINC @(ON THE DATE)) (PRINC DAT)
03200 (CONS RM DAT]
03300 (DE CANCEL (GST DAT) (COND
03350 ((GET GST (VAR DAT))
03400 (SETQ A (CAR (GET GST (VAR DAT))))
03500 (REMPROP GST (VAR DAT))
03600 (REMPROP A GST)
03700 (REMPROP A (VAR DAT))
03800 (CONS @(WE HAVE CANCELLLED ROOM) A)
03840 ) (T (PRINC @(WE REGRET THAT WE CANNOT CANCEL THE
03850 ROOM AS PER YOUR REQUEST )) (TERPRI)
03860 (PRINC @(SINCE OUR RECORDS
03880 SHOW NO SUCH RESERVATION)) NIL]
03900 (DE ROOM (GST DAT)
04000 (COND (
04050 (GET GST (VAR DAT)) (PRINC @(MR)) (PRINC GST)
04075 (PRINC @( HAS RESERVED ON DATE/ ))
04087 (PRINC DAT) (PRINC @/ ROOM/ )
04090 (PRINC (CAR (GET GST (VAR DAT)))) (GET GST (VAR DAT)))
04093 (T (PRINC @MR/ ) (PRINC GST) (PRINC @(/ HAS NOT
04096 RESERVED ANY ROOM ON THE DAT )) (PRINC DAT)
04098 NIL]
04099
04100 (DE GUEST (RM DAT)
04200 (GET RM (VAR DAT]
04300 (DE RESERVATIONS (GST)
04400 (PROG NIL (SETQ DAT 1)
04500 (PRINC @MR/ ) (PRINC GST) (PRINC @( HAS MADE
04550 THE FOLLOWING RESERVATIONS)) (TERPRI)
04600 L (COND ((GET GST (VAR DAT)) (PRINC (GET GST (VAR DAT)))
04700 (TERPRI)
04750 ))
04800 (SETQ DAT (ADD1 DAT))
04900 (COND ((*GREAT 366 DAT) (GO L]
05000 (DE VAR (I) (READLIST (CONS @D (EXPLODE I]